<template>
  <div class="tab-control">
    <!-- 外面包裹一个div是为了可以做border-bottom -->
    <div 
    v-for="(item,index) in titles" :key="item"  
    class="tab-control-item"
    :class="{active: index === currentIndex}"
    @click="itemClick(index)">
        <span>{{item}}</span>
    </div>
  </div>
</template>

<script>
  export default {
    name: 'TabControl',
    // 因为传递的是文字,所以不用插槽slot而是用props传递进去
    props: {
        titles:{
            type: Array,
            default(){
              return []
            }
        }
    },
    data(){
      return {
        currentIndex: 0
      }
    },
    methods: {
      itemClick(index){
        this.currentIndex = index;
      }
    }
  }
</script>

<style scoped>
.tab-control{
  display: flex;
  text-align: center;
  font-size: 15px;

  height: 40px;
  line-height: 40px;
  background-color: #fff;
}
.tab-control-item{
  flex: 1;
}
.tab-control-item span{
  padding: 5px;
}
.active{
  color: var(--color-high-text);
}
.active span {
  border-bottom: 3px solid var(--color-tint);
}
</style>